package com.gljx.web.service;

import java.util.List;
import java.util.Map;

import com.gljx.web.Entity.User;

/**
 * 用户操作类
* @author LiXiang
* @date 2017年10月23日 下午4:15:03 
*
 */
public interface UserService {

	/**
	 * 修改当前用户密码
	* @param pwd
	* @param newPwd
	* @return
	* @author LiXiang  @date 2017年10月23日 下午4:17:06
	 */
	public String setUserPwd(String pwd,String newPwd);
	
	/**
	 * 查询
	* @param rows 每页记录条数
	* @param page 页码
	* @return
	* @author LiXiang  @date 2017年10月24日 下午2:20:28
	 */
	public Map <String,Object > selectBIUser(String rows,
											String page,
											String name,		//姓名
											String dept,		//部门
											String company,		//公司
											String fisAdmin,	//是否管理
											String fisPower,	//是否授权
											String fisDelete,	//是否可用
											String fisProjecjt);
	
	/**
	 * 用户管理 --添加用户
	* @param user
	* @return
	* @author LiXiang  @date 2017年10月25日 下午1:54:30
	 * @throws IllegalAccessException 
	 */
	public String insert(User user) throws IllegalAccessException;
	
	/**
     * 用户管理-- 批量授权
    * @param users
    * @return
    * @author LiXiang  @date 2017年10月27日 下午1:41:13
     */
	public Integer powerUser(String ids);
	
	/**
	 * 批量关联用户项目关系
	* @param ids
	* @return
	* @author LiXiang  @date 2017年10月28日 上午9:15:06
	 */
	public Integer setProject(String ids,String flag);
	
	/**
	 * 查找当前用户
	* @param id
	* @return
	* @author LiXiang  @date 2017年10月30日 下午1:53:13
	 */
	public User selectUserData(Integer id);
	
	/**
	 * 修改
	* @param user
	* @return
	* @author LiXiang  @date 2017年10月30日 下午1:54:15
	 */
	public String updateUser(User user);
	
	List<User> selectUserByNameForJournal(Map<String, Object> map);
	
	List<User> queryUserTypeByCompanyId(String fcompanyid);
	
	List<User> queryUserByCompanyId(String companyId);
	
	List<User> queryUserByCompanyIdAndName(String companyId,String name);

	User queryUserByFid(String fid);
	
	/**
	 * 该用户未拥有的权限
	* @param id
	* @param menuName
	* @param PID
	* @param name
	* @return
	* @author LiXiang  @date 2017年12月11日 下午2:48:49
	 */
	List<Map<String,Object>> findHandle(Integer id,
										String menuName,
										String PID,
										String name);
}
